﻿GHierarchicalMapTypeControl = function() 
{
	/// <summary>Creates a "nested" map type control for selecting and switching between supported map types via buttons and nested checkboxes.</summary>
	/// <returns type="GControl"></returns>
}

GHierarchicalMapTypeControl.prototype = 
{
	addRelationship: function(parentType,  childType, childText, isDefault)
	{
		/// <summary>Registers a parent/child relationship between map types with the control. If childText is given, it will be displayed next to the checkbox for the child map type instead of its name. If isDefault is true, the child map type will be selected by default. Note that all relationships must be set up before the control is added. (Adding relationships after the control is added will have no effect.) (Since 2.94).</summary>
		/// <param name="parentType" type="GMapType">The parent map type.</param>
		/// <param name="childType" type="GMapType">The child map type.</param>
		/// <param name="childText" type="String" optional="true">(optional) Text to be displayed next to the checkbox for the child map type instead of its name.</param>
		/// <param name="isDefault" type="Boolean" optional="true">(optional) If true, the child map type will be selected by default.</param>
	},
	
	removeRelationship: function(mapType) 
	{
		/// <summary>Removes all relationships involving a map type from the control. (Since 2.94)</summary>
		/// <param name="mapType" type="GMapType">The map type to remove.</param>
	},
	
	clearRelationships: function() 
	{
		/// <summary>Removes all relationships from the control. (Since 2.94)</summary>
	},
	
	printable: function() 
	{
		/// <summary>Returns to the map if the control should be printable.</summary>
		/// <returns type="Boolean"></returns>
	},
	
	selectable: function() 
	{
		/// <summary>Returns to the map if the control contains selectable text.</summary>
		/// <returns type="Boolean"></returns>
	},
	
	initialize: function(map) 
	{
		/// <summary>Will be called by the map so the control can initialize itself. The control will use the method GMap2.getContainer() to get hold of the DOM element that contains the map, and add itself to it. It returns the added element.</summary>
		/// <param name="map" type="GMap2">The map to initialize.</param>
		/// <returns domElement="true"></returns>
	},
	
	getDefaultPosition: function() 
	{
		/// <summary>Returns to the map the position in the map view at which the control appears by default. This will be overridden by the second argument to GMap2.addControl().</summary>
		/// <returns type="	GControlPosition"></returns>
	}
}
